Source-synchronous receiver using edge-detection clock recovery

ABSTRACT

A source-synchronous clocking signal is sampled by an edge sampler triggered by a phase-adjusted version of the clocking signal. The output of the edge sampler is used as a phase-error indicator for a filtered feedback loop that aligns the phase-adjusted clocking signal to minimize, on average, the difference between the received source-synchronous clocking signal and the phase-adjusted version of the clocking signal minus the setup time of the sampler. This forms a delay-locked loop configuration. The phase adjustment information used to produce the aligned phase-adjusted clocking signal is then to produce a receiver clocking signal that is used to sample the source-synchronous data signal.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application in a continuation of U.S. patent applicationSer. No. 15/021,874, filed Mar. 14, 2016, which is a 371 ofinternational application PCT/US2014/055345, filed Sep. 12, 2014, whichclaims the benefit of U.S. Provisional Application Ser. No. 61/878,278,filed Sep. 16, 2013, and titled SOURCE SYNCHRONOUS RECEIVER, and claimsthe benefit of U.S. Provisional Application Ser. No. 61/952,025, filedMar. 12, 2014, and titled SOURCE-SYNCHRONOUS RECEIVER USINGEDGE-DETECTION CLOCK RECOVERY, and claims the benefit of U.S.Provisional Application Ser. No. 62/004,021, filed May 28, 2014, andtitled SOURCE-SYNCHRONOUS RECEIVER USING EDGE-DETECTION CLOCK RECOVERY,all of which are hereby incorporated herein by reference for allpurposes.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a source-synchronous receiver.

FIG. 2 is a block diagram illustrating an embodiment of asource-synchronous receiver.

FIG. 3 is a block diagram illustrating an embodiment of asource-synchronous receiver with phase shifters.

FIG. 4 is a block diagram illustrating an embodiment of asource-synchronous receiver with phase mixers and a level converter.

FIG. 5 is a block diagram illustrating an embodiment of asource-synchronous receiver using injection locked oscillators.

FIG. 6 is an example timing diagram illustrating phase-locked andphase-unlocked conditions.

FIG. 7 is a block diagram illustrating a communication system.

FIG. 8 is a flowchart illustrating a method of generating a datasampling timing reference signal.

FIG. 9 is an illustration of steps that may be used in a method ofgenerating a data sampling timing reference signal.

FIG. 10 is a block diagram of a computer system.

DETAILED DESCRIPTION OF THE EMBODIMENTS

In an embodiment, an integrated circuit receives a clocking signal(a.k.a., timing reference signal) and corresponding source-synchronousdata signal. The source-synchronous clocking signal is sampled by anedge sampler triggered by a phase-adjusted version of the clockingsignal. The output of the edge sampler is used as a phase-errorindicator. The phase indicator is part of a filtered feedback loop thataligns the phase-adjusted clocking signal to phase-lock the receivedsource-synchronous clocking signal and the phase-adjusted version of theclocking signal. This forms a delay-locked loop configuration. The phaseadjustment information used to produce the aligned phase-adjustedclocking signal is used to produce a receiver clocking signal. Thereceiver clocking signal is used to sample the source-synchronous datasignal with maximum timing margin.

By applying the received clocking signal to the delay-locked loopconfiguration, much of the jitter on the clocking signal is filteredout. By using an edge sampler that matches the data sampler as aphase-detector, the jitter of the clock sampler will tend to track thejitter of the data sampler.

FIG. 1 is a block diagram illustrating a source-synchronous receiver. InFIG. 1, receiver 100 comprises sampler 110, sampler 120, level converter126, and phase aligner 130. Receiver 100 receives a source-synchronouslytimed data signal (DIN1), and a timing reference signal (CKIN1). DIN1 isreceived by sampler 110. CKIN1 is received by sampler 120 and levelconverter 126. The output of level converter 126 (CKLC1) is received byphase aligner 130. Phase aligner 130 produces a first clock signal(CKA1) and a second clock signal (CKB1). CKA1 is supplied to sampler 110as the timing reference signal that causes sampler 110 to sample DIN1.CKB1 is supplied to sampler 120 as the timing reference signal thatcauses sampler 120 to sample CKIN1. The output of sampler 110 is theresolved value (DOUT) of DIN1 as sampled by sampler 110 according to thetiming of timing reference CKA1. The output of sampler 120 is theresolved value (PSIND1) of CKIN1 as sampled by sampler 120 according tothe timing of timing reference CKB1. PSIND1 provides an indicator of,for each sampling of CKIN1, the phase difference between CKB1 and CKIN1.

PSIND1 and CKLC1 are received by phase aligner 130. Based on PSIND1,phase aligner 130 adjusts the timing of CKB1 to align the transitions ofCKB1 with the transitions of CKIN1. In other words, phase aligner 130adjusts the phase of CKB1 (which is derived from the level convertedCKIN1 signal—CKLC1) in order to minimize the phase difference betweenCKB1 and CKIN1 minus the setup time of the sampler 120. The phasedifference between CKB1 and CKIN1 is indicated by PSIND1. Thus, phasealigner 130 adjusts the phase of CKB1 according to PSIND1 such that thephase difference between CKIN1 and CKB1 minus the setup time of sampler120, as indicated by PSIND1, is minimized.

Phase aligner 130 also produces CKA1. CKA1 is supplied to sampler 110 asthe timing reference signal that causes DIN1 to be sampled by sampler110. CKA1 may be a phase adjusted version of CKIN1 and/or CKB1. Forexample, in a double-data-rate systems (i.e., where the frequency ofclock CKIN1 is one-half the data rate on DIN1), CKA1 may be derived fromCKIN1 such that CKA1 is ¼ of a cycle out of phase with CKB1 (and therebyCKIN1 minus the setup time of the sampler 110, when the phase differencebetween CKIN1 and CKB1 minus the setup time of the sampler 110 isminimized).

It should be understood that the feedback loop formed by sampler 120,PSIND1, phase aligner 130, and CKB1, functions to filter out jitter inthe reception of CKIN1 by level converter 126. Also, when sampler 110and sampler 120 are matched (e.g., sampler 110 and sampler 120 have thesame design and are supplied by the same power supplies) the jitter ofsampler 120 will be correlated with the jitter of sampler 110. Thishelps make the timing of the sampling of DIN1 according to the timing ofCKA1 more accurate. In addition, sampler 120 may be selected anddesigned to be more immune to signal and/or power supply noise thanlevel converter 126. Additional elements, such as clock and/or databuffers (i.e., buffers in the signal path of CKIN1 and/or DIN1) may beincluded in the feedback loop. By including these buffers in thefeedback loop, the loop will function to help filter out jitterintroduced by these buffers. It should also be understood that thefeedback loop may be activated (i.e., actively adjusting the timing ofCKB1 to minimize the phase difference with CKIN1 minus the setup time ofsampler 120) intermittently as opposed to being activated continuously.A periodic or occasional calibration of CKB1 and CKA1 may be performedwhile the loop is activated and the loop disabled the rest of the time.These calibrations may be even performed at times when DIN1 is carryingvalid information. When these calibrations are performed when DIN1 isvalid, they may be performed without interrupting the data trafficcarried by DIN1.

FIG. 2 is a block diagram illustrating an embodiment of asource-synchronous receiver. In FIG. 2, receiver 200 comprises sampler210, sampler 220, level converter 226, and phase aligner 230. Phasealigner 230 includes filter 231 and phase shifter 232. It should beunderstood that when receiver 200 is phase-locked, sampler 210 samplesdata in the middle of the data eye and not at the edge. Accordingly,sampler 210 may be referred to as a “data sampler.”

Receiver 200 receives a source-synchronously timed data signal (DIN2),and a timing reference signal (CKIN2). DIN2 is received by sampler 210.CKIN2 is received by sampler 220 and level converter 226. The output oflevel converter 226 (CKLC2) is received by phase shifter 232. Phaseshifter 232 produces a first clock signal (CKA2) and a second clocksignal (CKB2). CKA2 is supplied to sampler 210 as the timing referencesignal that causes DIN2 to be sampled by sampler 210. CKB2 is suppliedto sampler 220 as the timing reference signal that causes CKIN2 to besampled by sampler 220. The output of sampler 210 is the resolved value(DOUT2) of DIN2 as sampled by sampler 210 according to the timing of atleast one transition of timing reference CKA2. The output of sampler 220is the resolved value (PSIND2) of CKIN2 as sampled by sampler 220according to the timing of at least one transition of timing referenceCKB2. PSIND2 provides an indicator of, for each sampling of CKIN2, thephase difference between CKB2 and CKIN2.

PSIND2 is received by filter 231 of phase aligner 230. Filter 231 isoperatively coupled to phase shifter 232 to control the amount of phaseshift between CKLC2 and CKA2, and also between CKLC2 and CKB2. Based onPSIND2, filter 231 acts to adjusts the timing of CKLC2 to align thetransitions of CKB2 with the transitions of CKIN2 as sampled by sampler220. In other words, phase aligner 230 adjusts the phase of CKB2 (whichis derived from the level converted CKIN2 signal—CKLC2) in order tominimize, over a period of time, the phase difference between CKB2 andCKIN2 minus the setup time of the sampler 220 as measured by the samplesof CKIN2 by sampler 220. The phase difference between CKB2 and CKIN2 isindicated by PSIND2. The phase difference indicated by PSIND2 isfiltered (or averaged) by filter 231. The output of filter 231 adjuststhe timing of CKB2 in order to minimize the phase difference indicatedby PSIND2. Thus, phase aligner 230, as a whole, adjusts the phase ofCKB2 according to PSIND2 such that the phase difference (minus the setuptime of sampler 220) indicated by PSIND2 is minimized. Since the setuptime of sampler 210 and sampler 220 are nominally the same (becausesampler 210 and sampler 220 are matched circuits experiencing similaroperating conditions), the loop that adjusts the phase of CKB2 accordingto PSIND2 also adjusts the phase of CKA2 to a desirable point forsampler 210 (as further described herein.)

Phase shifter 232 also produces CKA2. CKA2 is supplied to data sampler210 as the timing reference signal that causes DIN2 to be sampled bysampler 210. CKA2 may be a phase adjusted version of CKIN2 and/or CKB2.For example, in a double-data-rate system systems (i.e., where thefrequency of clock CKIN2 is one-half the data rate on DIN2) phaseshifter 232 may derive CKA2 from CKIN2 such that CKA2 is ¼ of a cycleout of phase with CKIN2 (and thereby also approximately ¼ cycle out ofphase with CKB2 when the phase difference between CKIN2 and CKB2 minusthe setup time of the sampler 220 is minimized).

It should be understood that the feedback loop formed by sampler 220,PSIND2, filter 231, phase shifter 232, and CKB2 functions to filter outjitter in the reception of CKIN2 by level converter 226. Filter 231 actsto “average” PSIND2 thereby removing certain error and/or jitter causingcomponents in the reception of CKIN2 by level converter 226 (which errorand/or jitter causing components appear on CKLC2). When edge sampler 210and sampler 220 are matched, the jitter experience by sampler 220 as itresolves CKIN2 will be correlated with the jitter experienced by sampler210 as it resolves DIN2 to produce DOUT2. This helps make the timing ofthe sampling of DIN2 according to the edges of CKA2 more accurate.

FIG. 3 is a block diagram illustrating an embodiment of asource-synchronous receiver with phase shifters. In FIG. 3, receiver 300comprises sampler 310, sampler 320, level converter 326, and phasealigner 330. Phase aligner 330 includes filter 331, CKB phase shifter332, CKA phase shifter 333, and offset 334. Receiver 300 receives asource-synchronously timed data signal (DIN3), and a timing referencesignal (CKIN3). DIN3 is received by sampler 310. CKIN3 is received bysampler 320 and level converter 326. The output of level converter 326(CKLC3) is received by CKA phase shifter 333 and CKB phase shifter 332.CKA phase shifter 333 produces a first clock signal (CKA3) that is basedon, and phase adjusted from, CKLC3. CKB phase shifter 332 produces asecond clock signal (CKB3) that is based on, and phase adjusted from,CKLC3. The relative phase difference between CKA3 and CKB3 is determinedby offset 334. Since CKLC3 is based on a level converted CKIN3 (withnoise and/or jitter introduced by level converter 326), it should beunderstood that CKA3 and CKB3 are based on, and phase adjusted from,CKIN3—but have noise and/or jitter introduced by level converter 326filtered out of CKLC3 by the action of a feedback loop comprisingsampler 320, filter 331, and CKB phase shifter 332.

CKA3 is supplied to sampler 310 as the timing reference signal thatcauses DIN3 to be sampled by sampler 310. CKB3 is supplied to sampler320 as the timing reference signal that causes sampler 320 to sampleCKIN3. The output of sampler 310 is the resolved value (DOUT3) of DIN3as sampled by sampler 310 according to the timing specified by at leastone transition of timing reference CKA3. The output of sampler 320 isthe resolved value (PSIND3) of CKIN3 as sampled by sampler 320 accordingto the timing specified by at least one transition of timing referenceCKB3. PSIND3 provides an indicator of, for each sampling of CKIN3, thephase relationship between CKB3 and CKIN3. It should be understood thatthe setup time of sampler 320 is built into the phase comparison made bysampler 320. However, since sampler 310 and sampler 320 are the same,and should experience similar (if not the same) operating conditions,they will typically have the same setup time. Thus, DIN3 is stillsampled at an optimum point in time (without further compensating forthe setup time of sampler 310 and/or sampler 320—because these two setuptimes cancel each other out).

PSIND3 is received by filter 331 of phase aligner 330. Filter 331 isoperatively coupled to control the amount of phase shift between CKLC3and CKB3. Filter 331 is also operatively coupled, via offset 334, tocontrol the amount of phase shift between CKLC3 and CKA3. The relativephase of CKA3 and CKB3 is determined by offset 334. In other words, if aparticular value is output by filter 331, it causes CKB phase shifter332 to produce a first particular phase difference between CKLC3 andCKB3. That same particular value output by filter 331, after beingmodified (e.g., increased or decreased by an amount that corresponds to¼ of a CKIN3 cycle) by offset 334, causes CKA phase shifter 333 toproduce a second particular phase difference between CKLC3 and CKA3.Therefore, the particular modification applied by offset 334 to theoutput of filter 331 determines the phase difference between CKA3 andCKB3.

Based on PSIND3, filter 331 acts to adjust the timing of CKB3 to alignthe transitions of CKB3 with the transitions of CKIN3 minus the setuptime of the sampler 320 as measured by sampler 320. In other words,phase aligner 330 adjusts the phase of CKB3 in order to minimize, over aperiod of time, the phase difference between CKB3 and CKIN3 (minus thesetup time of the sampler 320.) The phase difference between CKB3 andCKLC3 is indicated by PSIND3 which is filtered (or averaged) by filter331. The output of filter 331 provides a control signal to CKB phaseshifter 332 that causes CKB phase shifter 332 to adjust the timing ofCKB3 in order to minimize the phase difference indicated by PSIND3.Thus, phase aligner 330, as a whole, adjusts the phase of CKB3 accordingto PSIND3 such that the phase difference indicated by PSIND3 is onaverage minimized. In an embodiment, PSIND3 can be a 1-bit number thattakes values equivalent to +1 and −1. The feedback loop formed bysampler 320, filter 331, and CKB phase shifter 332 functions to attemptto equalize the number of +1's and −1's over a period of time.

CKA phase shifter 333 produces CKA3. CKA3 is supplied to sampler 310 asthe timing reference signal that causes DIN3 to be sampled by sampler310. CKA3 is a phase adjusted version of CKLC3. The amount of phaseshift provided by CKA phase shifter is derived from the output of filter331 as modified by offset 334. For example, offset 334 may change theoutput of filter 331 such that CKA phase shifter 232 phase shifts CKA3to ¼ of a cycle minus the setup time of the sampler 320 out of phasewith CKLC3 (and thereby approximately ¼ cycle out of phase with CKB3when the phase difference between CKLC3 and CKB3 minus the setup time ofthe sampler 320 is minimized).

It should be understood that the feedback loop formed by sampler 320,PSIND3, filter 331, CKB phase shifter 332, and CKB3 functions to improvetiming margin in resolving DIN3 to produce DOUT3. The feedback loopforces CKB3 and CKA3 to follow certain error and/or jitter causingcomponents from level converter 326, sampler 310, and/or sampler 320.When sampler 310 and sampler 320 are matched, the jitter experienced bysampler 310 as it resolves DIN3 to produce DOUT3 will be correlated withthe jitter experienced by sampler 320 as it resolves CKIN3. This resultsin improved timing margin in resolving DIN3 to produce DOUT3.

FIG. 4 is a block diagram illustrating an embodiment of asource-synchronous receiver with phase mixers and a level converter. InFIG. 4, receiver 400 comprises sampler 410, sampler 420, amplifier 415,amplifier 425, level converter 426, and phase aligner 430. Phase aligner430 includes phase indicator filter 431, phase splitter 435, B phasemixer 432, A phase mixer 433, and offset 434. Receiver 400 receives adifferentially signaled source-synchronously timed data signal (DIN4_Pand DIN4_N—collectively DIN4), and a differentially signaled timingreference (CKIN4_P and CKIN4_N—collectively CKIN4) which isedge-to-edge-aligned with respect to DIN4. After being amplified byamplifier 415, DIN4 is received by sampler 410. After being amplified byamplifier 425, CKIN4 is received by sampler 420 and level converter 426.In an embodiment, amplifier 415 and amplifier 425 are matched to eachother so that the delay and/or jitter introduced by amplifier 415 andamplifier 325 are correlated.

The output of level converter 426 (CKLC4) is operatively coupled to theinput of phase splitter 435. Phase splitter 435 produces in-phase andquadrature (I/Q) signals from CKLC4. The I/Q signals (a.k.a., I/Q CKsignals—since these are quadrature signals that have been derived fromCKIN4 via level converter 426) output by phase splitter 435 are suppliedto B phase mixer 432 and A phase mixer 433. The output of B phase mixer432 is CKB4. The output of A phase mixer 433 is CKA4. The relative phasedifference between CKA4 and CKB4 is determined by offset 434.

CKA4 is supplied to sampler 410 as the timing reference signal thatcauses the amplified (by amplifier 415) DIN4 signal to be sampled bysampler 410. CKB4 is supplied to sampler 420 as the timing referencesignal that causes the amplified (by amplifier 425) CKIN4 signal to besampled by sampler 420. The output of sampler 410 is the resolved value(DOUT4) of DIN4 as sampled by sampler 410 according to the timing of atleast one transition of timing reference CKA4. The output of edgesampler 420 is the resolved value (PSIND4) of CKIN4 as sampled bysampler 420 according to the timing of at least one transition of timingreference CKB4. PSIND4 provides an indicator of, for each sampling ofCKIN4, the phase difference between CKB4 and CKIN4 minus the setup timeof the sampler 420.

PSIND4 is received by phase indicator filter 431 of phase aligner 430.Phase indicator filter 431 is operatively coupled to B phase mixer 432in order to control the phase shift between the I/Q signals input to Bphase mixer 432 and the output of B phase mixer 432, CKB4. Phaseindicator filter 431 is also operatively coupled, via offset 434, to Aphase mixer 433 in order to control the phase shift between the I/Qsignals input to A phase mixer 433 and the output of A phase mixer 433,CKA4. The relative phase of CKA4 and CKB4 is determined by offset 434.

In an embodiment, B phase mixer 432 and A phase mixer 433 are controlledby digital values. Thus, offset 434 may control the relative phase ofCKA4 and CKB4 by adding (or subtracting) a predetermined amount from thedigital value received by offset 434 to produce the value used tocontrol A phase mixer 433.

In an embodiment, the control values output by phase indicator filter431, after being modified (e.g., increased or decreased) by offset 434,causes A phase mixer 433 to produce a phase difference between CKA4 andCKB4 that approximates (or is equal to) ¼ of a cycle.

Based on PSIND4, phase indicator filter 431 acts a control input of Bphase mixer 432 to adjust the timing of CKB4 to align the transitions ofCKB4 with the transitions of CKIN4 minus the setup time of sampler 420.In other words, phase aligner 430 adjusts the phase of CKB4 in order tominimize, over a period of time, the phase difference between CKB4 andCKIN4 minus the setup time of sampler 420. The phase difference betweenCKB4 and CKIN4, is indicated by PSIND4 which is filtered (or averaged)by phase indicator filter 431. The output of phase indicator filter 431controls B phase mixer 432 such that B phase mixer 432 adjusts thetiming of CKB4 to minimize the phase difference indicated by the averageof PSIND4 over a period of time. Thus, phase aligner 430, as a whole,adjusts the phase of CKB4 according to PSIND4 such that the phasedifference indicated by the average of PSIND4 over a period of time isminimized. In an embodiment, PSIND4 is a one bit digital numberrepresenting a +1 or −1. The feedback loop operates such that, over aperiod of time, the average of the +1 and −1's represented by PSIND4approaches (or equals) zero.

A phase mixer 433 produces CKA4. CKA4 is supplied to sampler 410 (and/orother data input samplers—not shown in FIG. 4) as the timing referencesignal that causes the amplified DIN4 signal to be sampled by sampler410. Since A phase mixer 433 produces CKA4 based on a received versionof CKIN4 (i.e., the I/Q CK signals received via level shifter 426 andphase splitter 435), CKA4 is a phase adjusted version of CKIN4. Theamount of phase delay provided by A phase mixer 433 is derived from theoutput of phase indicator filter 431 as modified by offset 434. Forexample, offset 434 may add or subtract a constant value (or signalamount) from the output of phase indicator filter 434 such that A phasemixer 433 phase shifts the I/Q CK signals to ¼ of a cycle out of phasewith CKA4 (because both B phase mixer 432 and A phase mixer 433 receivethe I/Q CK signals as inputs to be phase shifted/delayed).

In an embodiment, offset 434 may add or subtract a predetermined value(or signal amount) obtained from a lookup table. This lookup table cantake the output of phase indicator filter 434 as an input. This allowsthe predetermined value (or signal amount) to be variable in order tocompensate for nonlinearities of A phase mixer 433 and/or B phase mixer432. Thus, a lookup table can be used to change an offset valuedepending on the value of the code input to B phase mixer 432. Thelookup table can be populated during startup sequence.

It should be understood that the feedback loop formed by sampler 420,PSIND4, phase indicator filter 431, B phase mixer 432, and CKB4functions to help filter out jitter in the reception of CKIN4 by levelconverter 426. The loop forces CKB4 to follow CKIN4, within itsbandwidth, thereby removing certain error and/or jitter causingcomponents from the timing of CKLC4.

FIG. 5 is a block diagram illustrating an embodiment of asource-synchronous receiver using injection locked oscillators. In FIG.5, receiver 500 comprises sampler 510, sampler 520, amplifier 515,amplifier 525, level converter 526, and phase aligner 530. Phase aligner530 includes phase indicator filter 531, phase splitter 535, injectionlocked oscillator (ILO) 532, and injection locked oscillator 533.Receiver 500 receives a differentially signaled source-synchronouslytimed data signal (DIN5_P and DIN5_N—collectively DIN5), and adifferentially signaled timing reference (CKIN5_P andCKIN5_N—collectively CKIN5). After being amplified by amplifier 515,DIN5 is received by sampler 510. After being amplified by amplifier 525,CKIN5 is received by sampler 520 and level converter 526. In anembodiment, amplifier 515 and amplifier 525 are matched to each other sothat the delay and/or jitter introduced by amplifier 415 and amplifier325 are correlated.

The output of level converter 526 is operatively coupled to the input ofphase splitter 535. Phase splitter 535 produces in-phase and quadrature(I/Q) signals from the level converted (by level converter 526) CKIN5signal. The I/Q signals (a.k.a., I/Q CK signals—since these arequadrature signals that have been derived from CKIN5) output by phasesplitter 535 are supplied to injection locked oscillator 532 andinjection locked oscillator 533.

The in-phase output (i.e., I output) of phase splitter 535 is suppliedto the in-phase signal input (i.e., I signal input) of injection lockedoscillator 532. The quadrature output (i.e., Q output) of phase splitter535 is supplied to the quadrature signal input (i.e., Q signal input) ofinjection locked oscillator 532. The in-phase output (i.e., I output) ofphase splitter 535 is also supplied to the quadrature signal input(i.e., Q signal input) of injection locked oscillator 533. Thequadrature output (i.e., Q output) of phase splitter 535 is alsosupplied to the in-phase signal input (i.e., I signal input) ofinjection locked oscillator 533. Because the I/Q signal outputs of phasesplitter 535 are swapped when input to injection locked oscillators 532and 533, the outputs that injection locked oscillators 532 and 533produce are 90° out of phase with each other. The output of injectionlocked oscillator 532 is CKB5. The output of injection locked oscillator533 is CKA5. Thus, the relative phase difference between CKA5 and CKB5is 90°.

CKA5 is supplied to sampler 510 as the timing reference signal thatcauses the amplified (by amplifier 515) DIN5 signal to be sampled bysampler 510. CKB5 is supplied to sampler 520 as the timing referencesignal that causes the amplified (by amplifier 525) CKIN5 signal to besampled by sampler 520. The output of sampler 510 is the resolved value(DOUT5) of DIN5 as sampled by sampler 510 according to the timing of atleast one transition of timing reference CKA5. The output of sampler 520is the resolved value (PSIND5) of CKIN5 as sampled by sampler 520according to the timing of at least one transition of timing referenceCKB5. PSIND5 provides an indicator of, for each sampling of CKIN5, thephase difference between CKB5 and CKIN5.

PSIND5 is received by phase indicator filter 531 of phase aligner 530.Phase indicator filter 531 is operatively coupled via a digital value,analog control signal, analog current, or analog voltage (CTL) toinjection locked oscillator 532 in order to control the phase shiftbetween the I/Q signals input to injection locked oscillator 532 and theoutput of injection locked oscillator 532, CKB5. Phase indicator filter531 is also operatively coupled via a digital value, analog controlsignal, analog current, or analog voltage (CTL) to injection lockedoscillator 533 in order to control the phase shift between the I/Qsignals input to injection locked oscillator 533 and the output ofinjection locked oscillator 533, CKA5. The relative phase of CKA5 andCKB5 is, as discussed previously, determined by the reversed connectionof the I/Q signals input to injection locked oscillator 532 whencompared to the connection of the I/Q signals input to injection lockedoscillator 533. In an embodiment, ILO 532 can receive an inverse of I inplace of I and an inverse of Q in place of Q. This results in the samegeneral function.

Based on PSIND5, phase indicator filter 531 controls injection lockedoscillator 532 to adjust the timing of CKB5 to align the transitions ofCKB5 with the transitions of CKIN5 minus the setup time of sampler 520.In other words, phase aligner 530 adjusts the phase of CKB5 in order tominimize, over a period of time, the phase difference between CKB5 andCKIN5 minus the setup time of sampler 420. The phase difference betweenCKB5 and CKIN5, is indicated by PSIND5 which is filtered (or averaged)by phase indicator filter 431 to produce the output of phase indicatorfilter 531—CTL. CTL controls injection locked oscillator 532 such thatinjection locked oscillator 532 adjusts the timing of CKB5 to minimizethe phase difference indicated by PSIND5. Thus, phase aligner 530, as awhole, adjusts the phase of CKB5 according to PSIND5 such that the phasedifference indicated by PSIND5, on average and over a period of time, isminimized.

Injection locked oscillator 533 produces CKA5. CKA5 is supplied tosampler 510 (and/or other data input samplers—not shown in FIG. 5) asthe timing reference signal that causes the amplified DIN5 signal to besampled by sampler 510. Since injection locked oscillator 533 producesCKA5 based on a received version of CKIN5 (i.e., the I/Q CK signalsreceived via level shifter 526 and phase splitter 535), CKA5 is a phaseadjusted version of CKIN5.

It should be understood that the feedback loop formed by sampler 520,PSIND5, phase indicator filter 531, injection locked oscillator 532, andCKB5 functions to help filter out jitter in the reception of CKIN5 bylevel converter 526. The loop forces CKB5 to follow CKIN5, within itsbandwidth, thereby removing certain error and/or jitter causingcomponents from the timing of the clock output (CKLC5) of the levelconverter.

FIG. 6 is an example timing diagram illustrating phase-locked andphase-unlocked conditions. In FIG. 6, an input clock (CKIN) and a phaseindicator (PSIND) are illustrated. CKIN and PSIND can correspond, forexample, to CKIN4 and PSIND4 (in which case, CKB would correspond toCKB4). During a first time period illustrated in FIG. 6, CKB leads CKIN(e.g., the edges of CKB4 arrive at, for example, sampler 420 earlier intime than the edges of CKIN4 minus the setup time of the sampler).During this first time period, the phase indicator (e.g., PSIND4) isshown consistently having a low value. During a second time period, CKBlags CKIN (i.e., the edges of CKB4 arrive later in time than the edgesof CKIN4 minus the setup time of the sampler). During this second timeperiod, the phase indicator is shown consistently having a high value.During a third time period, the feedback loop is locked and the phaseindicator is shown switching between the low and high values in anarbitrary, or random, pattern where the proportion of low and highvalues are, on average, equal. In this condition, on average, the phasedifference between CKB and CKIN minus the setup time of the sampler asindicated by the phase indicator is not biased or skewed to either a CKBleading CKIN condition, or a CKB lagging CKIN condition—therebyminimizing the phase difference indicated by the phase indicator.

FIG. 7 is a block diagram illustrating a communication system.Communication system 700 comprises source device 710 and destinationdevice 729. Source device 710 includes driver 711, and drivers 713.Source device 710 also includes source-synchronous timing reference portCK that is driven by driver 711. Driver 711 is illustrated receiving aninternal timing reference signal REFCK. Source device 710 also includesP number of signal ports Q[1:P] that are driven by drivers 713. Drivers713 are also illustrated receiving internal timing reference signalREFCK. Source device 710 may also include receivers (not shown in FIG.7) for receiving signals from destination device 729 either via theQ[1:P] signal ports or via separate ports. Destination 729 includessampler 720, receivers 723, level converter 726, and phase aligner 730.Sampler 720 is operatively coupled to phase aligner 730 by phaseindicator PSIND. Level converter 726 receives CK and produces CKLC7.Sampler 720 receives timing reference CKB from phase aligner 730. Phasealigner 730 is operatively coupled to receivers 723 by timing referenceCKA.

Phase aligner 730 is operatively coupled to receivers 723. Phase aligner730 is operatively coupled to receivers 723 to provide receivers 723with a timing reference signal CKA. Phase aligner 730 is alsooperatively coupled to sampler 720. Phase aligner 730 is operativelycoupled to sampler 720 to provide sampler 720 with a timing referencesignal CKB.

Timing reference port CK of source device 710 is operatively coupled totiming reference port CK port of destination device 729. Signal portsQ[1:P] of source device 710 are operatively coupled to ports Q[1:P] ofdestination device 729, respectively. Thus, sampler 720 and phasealigner 730 of destination device 729 receive timing reference signal CKfrom source device 710. Phase aligner 730 can buffer and/or generateinternal clocks or strobes derived from the CK signal (via levelconverter 726) from source device 710. Phase aligner 730 can produce CKAand/or CKB from the CKLC7 signal received from level converter 726.Phase aligner 730 provides these timing references (which are derivedfrom the CK signal via CKLC7) to receivers 723. Receivers 723 ofdestination device 729 receive the Q[1:P] signals from source device710. Destination device 729 may also include drivers (not shown in FIG.7) for driving signals to source device 710 either via the Q[1:P] signalports or via separate ports. It should also be understood that althoughsystem 700 is illustrated as transmitting single-ended signals, thesignals sent by source device 700 may represent one or more of pairs ofdifferential signals. In another embodiment, a coding scheme might beused where N-bits of information are transmitted over M wires, where Mis greater than or equal to N and the coding scheme presents advantagesfor physical implementation.

Source device 710 and destination device 729 may comprise circuitry onintegrated circuit type devices, such as one commonly referred to as a“chip”. Source device 710 and destination device 729 may be blocks ofcircuitry on the same integrated circuit. Source device 710 anddestination device 729 may be parts or blocks of separate integratedcircuit devices.

For example, source device 710 and/or destination device 729 may be partof a memory controller and/or a memory device. A memory controller, suchas memory controller containing, for example, destination device 729,manages the flow of data going to and from memory devices (e.g. sourcedevice 710.) For example, a memory controller may be a northbridge chip,an application specific integrated circuit (ASIC) device, a graphicsprocessor unit (GPU), a system-on-chip (SoC) or an integrated circuitdevice that includes many circuit blocks such as ones selected fromgraphics cores, processor cores, and MPEG encoder/decoders, etc. Amemory device (e.g., source device 710) can include a dynamic randomaccess memory (DRAM) core or other type of memory cores, for example,static random access memory (SRAM) cores, or non-volatile memory coressuch as flash. In addition although the embodiments presented hereindescribe memory controller and components, the instant apparatus andmethods may also apply to chip interfaces that effectuate signalingbetween separate integrated circuit devices.

It should be understood that signal ports Q[1:P] of both source device710 and destination device 729 may correspond to any input or outputports of source device 710 or destination device 729 that rely on atiming reference signal communicated via one or more timing referenceports, such as CK, for synchronization. For example, signal ports Q[1:P]can correspond to bidirectional data ports used to communicate read andwrite data between source device 710 and destination device 729. Thedata ports may also be referred to as “DQ” pins. Thus, for a destinationdevice 729 that reads and writes data up to 16 bits at a time, signalports Q[1:P] can be seen as corresponding to ports DQ[0:15]. In anotherexample, signal ports Q[1:P] can correspond to one or moreunidirectional command/address (C/A) bus ports. Signal ports Q[1:P] cancorrespond to one or more unidirectional control ports. Thus, signalports Q[1:P] on source device 710 and destination device 729 maycorrespond to ports such as CS (chip select), a command interface thatincludes timing control strobes such as RAS and CAS, address pins A[0:Y](i.e., address pins carrying address bits), DQ[0:X] (i.e., data portscarrying data bits), etc., and other signal conductor ports in past,present, or future devices.

CK is received by sampler 720 and phase aligner 730. Phase aligner 730produces a first clock signal (CKA) and a second clock signal (CKB). CKAis supplied to receivers 723 as the timing reference signal that causesone or more of the Q[1:P] signals to be sampled. CKB is supplied tosampler 720 as the timing reference signal that causes CK to be sampledby sampler 720. The output of sampler 720 is the resolved value (PSIND)of CK as sampled by sampler 720 according to the timing of timingreference CKB. PSIND provides an indicator of, for each sampling of CK,the phase difference between CKB and CK.

PSIND and CK are received by phase aligner 730. Based on PSIND, phasealigner 730 adjusts the timing of CKB to align the transitions of CKBwith the transitions of CK minus the setup time of the sampler 720.I.e., phase aligner 730 adjusts the phase of CKB in order to minimizethe phase difference between CKB and CK minus the setup time of thesampler 720. The phase difference between CKB and CK is indicated byPSIND. Thus, phase aligner 730 adjusts the phase of CKB according toPSIND such that the phase difference indicated by PSIND is minimized.

Phase aligner 730 also produces CKA. CKA is supplied to receivers 723 asthe timing reference signal that causes one or more of the Q[1:P]signals to be sampled by the corresponding receivers 723. CKA may be aphase adjusted version of CK and/or CKB. For example, CKA may be derivedfrom CK such that CKA is ¼ of a cycle out of phase with CKB (and thereby¼ of a cycle minus the setup time of the sampler with respect to CK whenthe phase difference between CK and CKB minus the setup time of thesampler is minimized).

As described herein, it should be understood that the feedback loopformed by sampler 720, PSIND, phase aligner 730, and CKB functions tofilter out jitter in the reception of CK from source 710. Also, whenreceivers 723 and sampler 720 are matched (i.e., receivers 723 andsampler 720 have the same design and are supplied by the same powersupplies) the jitter of sampler 720 will be correlated with the jitterof receivers 723. This helps make the timing of the sampling of theQ[1:P] signals according to the timing of CKA more accurate. Inaddition, sampler 720 may be selected and designed to be more immune tosignal and/or power supply noise than a level converter. Additionalelements, such as clock and/or data buffers (i.e., buffers in the signalpath of CK, CKA and/or the Q[1:P] signals) may be included in thefeedback loop. By including these buffers in the feedback loop, the loopwill function to help cancel out jitter introduced by these buffers.Finally, it should be understood that the feedback loop may only beactivated (i.e., actively adjusting the timing of CKB to minimize thephase difference with CK minus the setup time of the sampler)intermittently. A periodic or occasional calibration of CKB (and henceCKA) may be performed while the loop is activated and the loop disabledthe rest of the time. These calibrations may be performed even at timeswhen, for example, the Q[1:P] signals are carrying valid information.When these calibrations are performed while the Q[1:P] signals arevalid, these calibrations can be performed without interrupting the datatraffic carried by the Q[1:P] signals.

FIG. 8 is a flowchart illustrating a method of generating a datasampling timing reference signal. The steps illustrated in FIG. 8 may beperformed by one or more elements of receiver 100, receiver 200,receiver 300, receiver 400, receiver 500, and/or communication system700. A data signal to be sampled based on a source-synchronous timingreference signal is received (802). For example, sampler 310 of receiver300 may receive data signal DIN which is to be sampled based on thesource-synchronous timing reference signal CKIN3. A source-synchronoustiming reference signal is received (804). For example, sampler 320, CKAphase shifter 333, or CKB phase shifter 332 of receiver 300 may receivethe source-synchronous timing reference signal CKIN3.

The source-synchronous timing reference signal is sampled with a firstsampler based on a first phase-adjusted timing reference signal toproduce a phase error indicator (806). For example, sampler 320 mayproduce a phase-error indicator signal PSIND3 by sampling thesource-synchronous timing reference signal CKIN3 according the timing ofCKB3, where CKB3 has been phase-adjusted from CKIN3 by CKB phase shifter332. The data signal is sampled based on a second phase-adjusted timingreference signal (808). For example, the data signal DIN3 may be sampledby sampler 310 according to the timing of CKA3, where CKA3 has beenphase-adjusted from CKIN3 by CKA phase shifter 333.

A first phase adjuster input value is controlled, based on thephase-error indicator, to align the phase of the first phase-adjustedtiming reference signal such that a phase difference between thesource-synchronous timing reference signal and the first phase adjustedtiming reference signal minus a setup time of the first sampler isminimized (810). For example, the input value to CKB phase shifter 332received from filter 331, which is based on the phase-error indicatorPSIND3, is adjusted in order to minimize, over a period of time, thephase difference between CKB3 and CKIN3 minus the setup time of sampler320.

A second phase adjuster input value is controlled, based on the firstphase adjuster input value, to produce the second phase-adjusted timingreference signal. The second phase adjusted timing reference signal iscontrolled to have a selected delay between the first phase-adjustedtiming reference signal and the second phase-adjusted timing referencesignal (812). For example, the input value to CKA phase shifter 333received from offset 334 can be controlled by offset 334, to create aselected delay or phase shift between CKB3 and CKA3.

FIG. 9 is an illustration of steps that may be used in a method ofgenerating a data sampling timing reference signal. The stepsillustrated in FIG. 9 may optionally be performed by one or moreelements of receiver 100, receiver 200, receiver 300, receiver 400,receiver 500, and/or communication system 700. A first phase errorindicator may be filtered to produce the first phase adjuster inputvalue (902). For example, PSIND4 of receiver 400 may be filtered byphase indicator filter 431 to produce an input value to B phase mixer432. The source-synchronous timing reference signal may be split toproduce a first quadrature timing reference signal and a secondquadrature timing reference signal (904). For example, phase splitter435 may produce in-phase and quadrature (I/Q) signals from the levelconverted (by level converter 426) CKIN4 signal.

The first quadrature timing reference signal may be provided to a firstphase adjuster that receives the first phase adjuster input value (906).For example, the quadrature signal from phase splitter 435 may beprovided to B phase mixer 432. The second quadrature timing referencesignal may be provided to a second phase adjuster that receives a secondphase adjuster input value (906). For example, the in-phase signal fromphase splitter 435 may be provided to A phase mixer 433. Phase mixer 433may receive a second phase adjuster input value that is modified fromthe first phase adjuster input value. Phase mixer 433 may receive asecond phase adjuster input value that is the same as the first phaseadjuster input value (i.e., an offset/delay of zero.) In an embodiment,this will be in a system where reference clock (e.g., CKIN4) isedge-to-center-aligned with respect to data (e.g., DIN4). In thisembodiment, only one phase mixer (e.g., B phase mixer 432) will berequired.

The second phase adjusted timing reference signal is provided to samplea plurality of data signals with a respective plurality of samplers(910). For example, a plurality of samplers 410 may receive CKA4 inorder to sample a plurality of data signals similar to DIN.

The methods, systems and devices described above may be implemented incomputer systems, or stored by computer systems. The methods describedabove may also be stored on a non-transitory computer readable medium.Devices, circuits, and systems described herein may be implemented usingcomputer-aided design tools available in the art, and embodied bycomputer-readable files containing software descriptions of suchcircuits. This includes, but is not limited to one or more elements ofreceiver 100, receiver 200, receiver 300, receiver 400, receiver 500,and/or communication system 700, and their components. These softwaredescriptions may be: behavioral, register transfer, logic component,transistor, and layout geometry-level descriptions. Moreover, thesoftware descriptions may be stored on storage media or communicated bycarrier waves.

Data formats in which such descriptions may be implemented include, butare not limited to: formats supporting behavioral languages like C,formats supporting register transfer level (RTL) languages like Verilogand VHDL, formats supporting geometry description languages (such asGDSII, GDSIII, GDSIV, CIF, and MEBES), and other suitable formats andlanguages. Moreover, data transfers of such files on machine-readablemedia may be done electronically over the diverse media on the Internetor, for example, via email. Note that physical files may be implementedon machine-readable media such as: 4 mm magnetic tape, 8 mm magnetictape, 3½ inch floppy media, CDs, DVDs, and so on.

FIG. 10 illustrates a block diagram of a computer system. Computersystem 1000 includes communication interface 1020, processing system1030, storage system 1040, and user interface 1060. Processing system1030 is operatively coupled to storage system 1040. Storage system 1040stores software 1050 and data 1070. Processing system 1030 isoperatively coupled to communication interface 1020 and user interface1060. Computer system 1000 may comprise a programmed general-purposecomputer. Computer system 1000 may include a microprocessor. Computersystem 1000 may comprise programmable or special purpose circuitry.Computer system 1000 may be distributed among multiple devices,processors, storage, and/or interfaces that together comprise elements1020-1070.

Communication interface 1020 may comprise a network interface, modem,port, bus, link, transceiver, or other communication device.Communication interface 1020 may be distributed among multiplecommunication devices. Processing system 1030 may comprise amicroprocessor, microcontroller, logic circuit, or other processingdevice. Processing system 1030 may be distributed among multipleprocessing devices. User interface 1060 may comprise a keyboard, mouse,voice recognition interface, microphone and speakers, graphical display,touch screen, or other type of user interface device. User interface1060 may be distributed among multiple interface devices. Storage system1040 may comprise a disk, tape, integrated circuit, RAM, ROM, EEPROM,flash memory, network storage, server, or other memory function. Storagesystem 1040 may include computer readable medium. Storage system 1040may be distributed among multiple memory devices.

Processing system 1030 retrieves and executes software 1050 from storagesystem 1040. Processing system 1030 may retrieve and store data 1070.Processing system 1030 may also retrieve and store data viacommunication interface 1020. Processing system 1050 may create ormodify software 1050 or data 1070 to achieve a tangible result.Processing system may control communication interface 1020 or userinterface 1060 to achieve a tangible result. Processing system 1030 mayretrieve and execute remotely stored software via communicationinterface 1020.

Software 1050 and remotely stored software may comprise an operatingsystem, utilities, drivers, networking software, and other softwaretypically executed by a computer system. Software 1050 may comprise anapplication program, applet, firmware, or other form of machine-readableprocessing instructions typically executed by a computer system. Whenexecuted by processing system 1030, software 1050 or remotely storedsoftware may direct computer system 1000 to operate as described herein.

The foregoing description of the invention has been presented forpurposes of illustration and description. It is not intended to beexhaustive or to limit the invention to the precise form disclosed, andother modifications and variations may be possible in light of the aboveteachings. The embodiment was chosen and described in order to bestexplain the principles of the invention and its practical application tothereby enable others skilled in the art to best utilize the inventionin various embodiments and various modifications as are suited to theparticular use contemplated. It is intended that the appended claims beconstrued to include other alternative embodiments of the inventionexcept insofar as limited by the prior art.

What is claimed is:
 1. A receiver circuit, comprising: a phase-alignmentcircuit to receive a phase indicator and a timing reference signal toproduce, based on the phase indicator and the timing reference signal, aphase adjusted sampling timing reference signal and a phase adjustedfeedback timing reference signal; a first sampler circuit to resolve adata signal in response to the sampling timing reference signal receivedfrom the phase-alignment circuit; and, a second sampler circuit toresolve the timing reference signal in response to the feedback timingreference signal and to output the phase indicator.
 2. The receivercircuit of claim 1, wherein the sampling timing reference signal and thephase adjusted feedback timing reference signal have different phaseadjustments.
 3. The receiver circuit of claim 1, wherein the feedbacktiming reference signal is also used as the sampling timing referencesignal.
 4. The receiver circuit of claim 1, wherein, based on the phaseindicator, the phase-alignment circuit is to adjust the feedback timingreference signal to minimize a phase error between the timing referencesignal and the feedback timing reference signal.
 5. The receiver circuitof claim 1, wherein the phase-alignment circuit comprises: a loop filterto receive the phase indicator and to control a first phase adjuster,the first phase adjuster producing the feedback timing reference signal.6. The receiver circuit of claim 5, further comprising: a second phaseadjuster, the second phase adjuster to produce the sampling timingreference signal to have an approximately constant delay between thefeedback timing reference signal and the sampling timing referencesignal.
 7. The receiver circuit of claim 5, wherein the first phaseadjuster comprises a first digitally controlled phase mixer and thesecond phase adjuster comprises a second digitally controlled phasemixer, the first digitally controlled phase mixer receiving a firstdigital input value, the second digitally controlled phase mixerreceiving a second digital input value that is a constant offset fromthe first digital input value.
 8. A method of generating a data samplingtiming reference, comprising: receiving a data signal to be sampledbased on a source-synchronous timing reference signal; receiving thesource-synchronous timing reference signal; sampling thesource-synchronous timing reference signal with a first sampler based ona first phase-adjusted timing reference signal to produce a phase errorindicator; sampling the data signal with a second sampler based on asecond phase-adjusted timing reference signal; based on the phase errorindicator, controlling a first phase adjuster input value to align thephase of the first phase-adjusted timing reference signal such that aphase difference between the source-synchronous timing reference signaland the first phase-adjusted timing reference signal is minimized; and,based on the phase adjuster input value, controlling a second phaseadjuster input value to produce the second phase-adjusted timingreference signal, the second phase-adjusted timing reference signalcontrolled to have a selected delay between the source-synchronoustiming reference signal and the second phase-adjusted timing referencesignal.
 9. The method of claim 8, wherein the second phase adjusterinput value is a constant offset from the first phase adjuster inputvalue.
 10. The method of claim 8, wherein the design of the firstsampler and the design of the second sampler are matched forapproximately equal timing characteristics.
 11. The method of claim 8,further comprising: filtering the phase error indicator to produce thefirst phase adjuster input value.
 12. The method of claim 8, furthercomprising: splitting the source-synchronous timing reference signal toproduce a first quadrature timing reference signal and a secondquadrature timing reference signal; providing the first quadraturetiming reference signal to a first phase adjuster that receives thefirst phase adjuster input value; and, providing the second quadraturetiming reference signal to a second phase adjuster that receives thesecond phase adjuster input value.
 13. The method of claim 12, furthercomprising: providing the second phase-adjusted timing reference signalto sample a plurality of data signals with a respective plurality ofsamplers.
 14. A timing reference receiver circuit for asource-synchronous data communication system, comprising: a phasedetector to receive a reference signal and a feedback signal; and, aphase-alignment circuit to receive the reference signal and an output ofthe phase detector, the phase-alignment circuit to generate a phaseadjusted signal based on the reference signal, the phase adjusted signalto be provided to a timing reference input of a data sampler circuit ofthe source-synchronous data communication system.
 15. The timingreference receiver circuit of claim 14, wherein the phase detectorcomprises: a timing reference sampler circuit to resolve the referencesignal in response to a feedback timing reference signal and to output aphase indicator, the design of data sampler circuit and the design ofthe timing reference sampler circuit being matched for approximatelyequal timing characteristics.
 16. The timing reference receiver of claim14, wherein, based on the output of the phase detector, thephase-alignment circuit is to adjust the feedback signal to minimize aphase error between the reference signal and the feedback signal. 17.The timing reference receiver of claim 14, wherein a delay between thereference signal and the phase adjusted signal is based on the output ofthe phase detector.
 18. The timing reference receiver of claim 14,wherein the phase-alignment circuit comprises: a phase feedback paththat adjusts a first digital input value to a first phase delay elementto minimize a phase error between the reference signal and the feedbacksignal.
 19. The timing reference receiver of claim 18, wherein a secondphase delay element generates the phase adjusted signal, the secondphase delay element receiving a second digital input value that is basedon the first digital input value.
 20. The timing reference receiver ofclaim 18, wherein the second digital input value is calculated from thefirst digital input value to produce a selected delay between thefeedback signal and the phase adjusted signal.